goldeneyefandomcom-20200222-history
How to Exit a Level (with cut-scene)
First insert a 2E Camera point. Now position it, remembering that the darkest side is the front. Add a 16 object tag to the 2E object. Remember what number it is. The below is the entire simple exit block. First there is a loop checking if all objectives are complete. After all objectives are complete (for testing, you can make no objectives, and then they’re always all complete), it hides the first person display, stops the game time, disables text, disables player pickups, removes all guards, starts the counter (to use to auto-end level after specified amount of time), and starts the fade out. The next loop continues until the fade out is complete. The DC command detects if both a fade out or fade in are complete. When it’s done, there are three 03 blocks just to avoid flickering (slight delays), then we go to the camera position we made before (the 2E Object). The tag should be chosen, and it should be D5XX0000000000. If there is a 01 in the fourth spot, the camera will center on Bond, but we’d prefer to get it to a static position. If you are moving Bond during the scene or want to move the view to always face Bond, leave it at 01. Now we start the fade in (command DB) since we are at this new position (if you move the camera before fade, it’ll flicker the screen and probably crash on console). Do the same loop until the fade is complete (the DC return value command). When we fade in, we can use our timer from before, if we want to do something after a certain amount of time. Finally, we detect whether the cycle counter has reached a specified amount (0100 here), or whether a key has been pressed (by return value loop command EB). When either condition is met, there is a final fade out, and then a loop to detect if the fade out is complete. Then the level exits (using command D2). :0200 Resume If Return Value Loop Met ::F10F If All Objectives Complete, Return Value Loop ::03 Leave The Routine, But When Return Continue From Spot ::0100 Go To Beginning, Then Return Value Loop :020F Resume If Return Value Loop Met ::AF Reset Cycle Counter ::B1 Enable Cycle Counter ::ED Hide First Person Display ::EA Stop Game Time ::D700 Disable Text (Variable) (Hide) ::EC Disable Player Pickups ::DD Remove All Guards ::DA Fade Out From Cut-Scene :0244 Resume If Return Value Loop Met ::03 Leave The Routine, But When Return Continue From Spot ::DC8F Return Value Loop When Fade Complete ::0144 Go To Beginning, Then Return Value Loop :028F Resume If Return Value Loop Met ::03 Leave The Routine, But When Return Continue From Spot ::03 Leave The Routine, But When Return Continue From Spot ::03 Leave The Routine, But When Return Continue From Spot ::D50200000000 Go To Camera Position D5 (0200000000) ; 02 = tag here ::DB Fade In From Black (Reset DA) :02AA Resume If Return Value Loop Met ::DC32 Return Value Loop When Fade Complete ::03 Leave The Routine, But When Return Continue From Spot ::01AA Go To Beginning, Then Return Value Loop :0232 Resume If Return Value Loop Met ::EB10 If Key Pressed, Return Value Loop ::B400010010 If Cycle Counter > Value, Return Value Loop B4 (000100) ::03 Leave The Routine, But When Return Continue From Spot ::0132 Go To Beginning, Then Return Value Loop :0210 Resume If Return Value Loop Met ::DA Fade Out From Cut-Scene :0245 Resume If Return Value Loop Met ::03 Leave The Routine, But When Return Continue From Spot ::DC66 Return Value Loop When Fade Complete ::0145 Go To Beginning, Then Return Value Loop :0266 Resume If Return Value Loop Met ::D2 Exit Level ::04 Terminator Category:Hacking Information